home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Art Effects Collectio…ks & Ghosted Backgrounds
/
The Art Effects Collection: Watermarks & Ghosted Backgrounds.iso
/
for_pc
/
pixsetup.ms_
< prev
next >
Wrap
Text File
|
1994-12-19
|
26KB
|
903 lines
'**************************************************************************
'* MSSetup Toolkit PixFolio
'**************************************************************************
'$DEFINE DEBUG ''Define for script development/debugging
'$INCLUDE 'setupapi.inc'
'$INCLUDE 'msdetect.inc'
'$INCLUDE 'mscuistf.inc'
''Dialog ID's
CONST WELCOME = 100
CONST ASKQUIT = 200
CONST DESTPATH = 300
CONST EXITFAILURE = 400
CONST EXITQUIT = 600
CONST EXITSUCCESS = 700
CONST EXITREGISTERED= 750
CONST OPTIONS = 800
CONST APPHELP = 900
CONST CUSTHELP = 910
CONST REGHELP = 920
CONST CUSTINST = 6200
CONST TOOBIG = 6300
CONST NOAVI = 6350
CONST NOAPP = 6360
CONST BADPATH = 6400
CONST CDGETNAMEORG = 7500
CONST MODELESS = 5000
CONST QUITWIN = 6500
''Bitmap ID
CONST LOGO = 1
''File Types
CONST APPFILES = 1
CONST OPTFILES1 = 2
CONST OPTFILES2 = 3
CONST OPTFILES3 = 4
CONST SYMFILES = 5
GLOBAL DEST$ ''Default destination directory.
GLOBAL WINDRIVE$ ''Windows drive letter.
GLOBAL OPTCUR$ ''Option selection from option dialog.
GLOBAL CUIDLL$ ''Custom user interface DLL
GLOBAL szTempDir$ ''Working directory
GLOBAL SysDir$ ''Windows System Directory
GLOBAL ini$ ''INI file path
GLOBAL NOPT$
GLOBAL OPT1OPT$ ''Option selection from OptFiles1 option dialog.
GLOBAL OPT2OPT$ ''Option selection from OptFiles2 option dialog.
GLOBAL OPT3OPT$
GLOBAL SYMOPT$ ''Option selection for symbol files.
''CustInst list symbol names
GLOBAL APPNEEDS$ ''Option list costs per drive
GLOBAL OPT1NEEDS$
GLOBAL OPT2NEEDS$
GLOBAL OPT3NEEDS$ ''Multimedia files
GLOBAL SYMNEEDS$
GLOBAL EXTRACOSTS$ ''List of extra costs to add per drive
GLOBAL BIGLIST$ ''List of option files cost calc results (boolean)
''Dialog list symbol names
GLOBAL CHECKSTATES$
GLOBAL STATUSTEXT$
GLOBAL DRIVETEXT$
DECLARE SUB AddOptFilesToCopyList (ftype%)
DECLARE SUB RecalcOptFiles (ftype%)
DECLARE SUB RecalcPath
DECLARE SUB SetDriveStatus
DECLARE SUB Install
DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
INIT:
CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
SetBitmap CUIDLL$, LOGO
SetTitle "PixFolio Setup"
szTempDir$ = GetSymbolValue("STF_CWDDIR")
szInf$ = GetSymbolValue("STF_SRCINFPATH")
IF szInf$ = "" THEN
szInf$ = GetSymbolValue("STF_CWDDIR") + "PIXSETUP.INF"
END IF
ReadInfFile szInf$
'' NOPT$="1"
WINDRIVE$ = MID$(GetWindowsDir, 1, 1)
'' DEST$ = WINDRIVE$ + ":\PIXFOLIO"
DEST$ = ".............................................................................................................................."
GetPixDir DEST$
if DEST$ = "" THEN
DEST$ = WINDRIVE$ + ":\PIXFOLIO"
END IF
ini$ = MakePath(GetWindowsDir, "WIN.INI")
''CustInst list symbols
CHECKSTATES$ = "CheckItemsState"
STATUSTEXT$ = "StatusItemsText"
DRIVETEXT$ = "DriveStatusText"
' FOR i% = 1 TO 3 STEP 1
AddListItem CHECKSTATES$, "ON" '' Main program files
AddListItem CHECKSTATES$, "OFF" '' Photo CD
AddListItem CHECKSTATES$, "OFF" '' VFW
AddListItem CHECKSTATES$, "OFF" '' Multimedia
AddListItem CHECKSTATES$, "OFF" '' Symbols
' NEXT i%
FOR i% = 1 TO 5 STEP 1
AddListItem STATUSTEXT$, ""
NEXT i%
FOR i% = 1 TO 7 STEP 1
AddListItem DRIVETEXT$, ""
NEXT i%
ReplaceListItem DRIVETEXT$, 7, DEST$
''Disk cost list symbols
APPNEEDS$ = "AppNeeds"
OPT1NEEDS$ = "Opt1Needs"
OPT2NEEDS$ = "Opt2Needs"
OPT3NEEDS$ = "Opt3Needs"
SYMNEEDS$ = "SymNeeds"
EXTRACOSTS$ = "ExtraCosts"
BIGLIST$ = "BigList"
FOR i% = 1 TO 5 STEP 1
AddListItem BIGLIST$, ""
NEXT i%
FOR i% = 1 TO 26 STEP 1
AddListItem EXTRACOSTS$, "0"
NEXT i%
''File Option Variables
OPT1OPT$ = "1"
OPT2OPT$ = "1"
OPT3OPT$ = "1"
SYMOPT$ = "1"
SysDir$ = GetWindowsSysDir()
RecalcPath
'' i% = DoMsgBox("RecalcPath OK", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
SetDriveStatus
'' i% = DoMsgBox("SetDriveStatus OK", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
OPTCUR$ = "1"
' DEST$ = "C:\PIXFOLIO"
'$IFDEF DEBUG
i% = SetSizeCheckMode(scmOnIgnore) '' could use scmOff; def = scmOnFatal
WinDrive$ = MID$(GetWindowsDir, 1, 1)
IF IsDriveValid(WinDrive$) = 0 THEN
i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
GOTO QUIT
END IF
'$ENDIF ''DEBUG
WELCOME:
sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSE
GOSUB ASKQUIT
GOTO WELCOME
END IF
OPTION:
SetSymbolValue "RadioDefault", OPTCUR$
OPTL1:
NOPT$="0"
sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
OPTCUR$ = GetSymbolValue("ButtonChecked")
''i% = DoMsgBox("("+OPTCUR$+")", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
IF OPTCUR$="1" THEN
NOPT$="0"
RecalcPath
SetDriveStatus
ELSE
NOPT$="1"
RecalcPath
SetDriveStatus
END IF
IF sz$ = "CONTINUE" THEN
UIPop(1)
ELSEIF sz$ = "REACTIVATE" THEN
GOTO OPTL1
ELSE
GOSUB ASKQUIT
GOTO OPTION
END IF
CUSTINST:
sz$ = UIStartDlg(CUIDLL$, CUSTINST, "FCustInstDlgProc", CUSTHELP, HELPPROC$)
IF sz$ = "CONTINUE" THEN
''Install only if it will fit.
FOR i% = 1 TO 5 STEP 1
IF GetListItem(BIGLIST$, i%) <> "" THEN
GOSUB TOOBIG
GOTO CUSTINST
END IF
NEXT i%
UIPop 1
GOTO INSTALLIT
ELSEIF sz$ = "PATH" THEN
GOTO GETPATH
ELSEIF sz$ = "CHK1" THEN
IF DoesFileExist(MakePath(DEST$, "PIXFOLIO.EXE"), femReadWrite) = 0 AND GetListItem(CHECKSTATES$, APPFILES) = "OFF" THEN
GOSUB NOAPP
GOTO CUSTINST
END IF
RecalcOptFiles APPFILES
RecalcOptFiles SYMFILES
SetDriveStatus
GOTO CUSTINST
ELSEIF sz$ = "CHK2" THEN
RecalcOptFiles OPTFILES1
RecalcOptFiles SYMFILES
SetDriveStatus
GOTO CUSTINST
ELSEIF sz$ = "CHK3" THEN
IF GetListItem(CHECKSTATES$, OPTFILES2) = "ON" THEN
IF CheckForAVI = 0 THEN
GOSUB NOAVI
ReplaceListItem CHECKSTATES$, OPTFILES2, "OFF"
END IF
END IF
RecalcOptFiles OPTFILES2
RecalcOptFiles SYMFILES
SetDriveStatus
GOTO CUSTINST
ELSEIF sz$ = "CHK4" THEN
RecalcOptFiles OPTFILES3
RecalcOptFiles SYMFILES
SetDriveStatus
GOTO CUSTINST
ELSEIF sz$ = "CHK5" THEN
RecalcOptFiles SYMFILES
SetDriveStatus
GOTO CUSTINST
ELSEIF sz$ = "BTN2" THEN
GOTO OPTFILES1
ELSEIF sz$ = "BTN3" THEN
GOTO OPTFILES2
ELSEIF sz$ = "BTN4" THEN
GOTO OPTFILES3
ELSEIF sz$ = "BTN5" THEN
GOTO SYMFILES
ELSEIF sz$ = "REACTIVATE" THEN
RecalcPath
SetDriveStatus
GOTO CUSTINST
ELSE
GOTO OPTION
''GOSUB ASKQUIT
''GOTO CUSTINST
END IF
GETPATH:
SetSymbolValue "EditTextIn", DEST$
SetSymbolValue "EditFocus", "END"
GETPATHL1:
sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
IF sz$ = "CONTINUE" THEN
olddest$ = DEST$
DEST$ = GetSymbolValue("EditTextOut")
''Validate new path.
IF IsDirWritable(DEST$) = 0 THEN
GOSUB BADPATH
GOTO GETPATHL1
END IF
UIPop 1
''Truncate display if too long.
IF LEN(DEST$) > 23 THEN
ReplaceListItem DRIVETEXT$, 7, MID$(DEST$, 1, 23)+"..."
ELSE
ReplaceListItem DRIVETEXT$, 7, DEST$
END IF
''Recalc if path changed.
IF (olddest$ <> DEST$) AND (olddest$ <> DEST$+"\") AND (olddest$+"\" <> DEST$) THEN
RecalcPath
SetDriveStatus
END IF
olddest$ = ""
GOTO CUSTINST
ELSEIF sz$ = "REACTIVATE" THEN
RecalcPath
SetDriveStatus
GOTO GETPATHL1
ELSEIF sz$ = "EXIT" THEN
GOSUB ASKQUIT
GOTO GETPATHL1
ELSE
UIPop 1
GOTO CUSTINST
END IF
INSTALLIT:
SetSymbolValue "SERIAL", "2X09AA001302"
SetSymbolValue "OWNER", "Aztech New Media Corp."
IF DoesFileExist(MakePath(DEST$, "PIXFOLIO.EXE"), femReadWrite) = 1 THEN
l& = GetStringTable(D